home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / network / ka9q / ka9q_src.arc / SLFP.H < prev    next >
C/C++ Source or Header  |  1988-11-30  |  2KB  |  39 lines

  1. /* SLFP definitions */
  2. #define    SLFP_ALLOC    40    /* Receiver allocation increment */
  3.  
  4. typedef unsigned char BYTE ;
  5. #define    SLFP_ESC    (BYTE)0362    /* Escape octet */
  6. #define SLFP_REQ    (BYTE)0363    /* REQuest to Send octet */
  7. #define    SLFP_ACK    (BYTE)0364    /* ACKnowledge a REQuest (clr to snd) */
  8. #define    SLFP_END    (BYTE)0365    /* END of Packet octet */
  9.  
  10. #define ACK_LEN        1    /* Length of a SL/FP Acknowledge sequence */
  11. #define REQ_LEN        1    /* Length of a SL/FP Request sequence */
  12. #define HDR_LEN        4    /* Length of a SL/FP Packet Header */
  13. #define SLFP_IP_HDR    0    /* slfp_hdr index for IP Header */
  14. #define SLFP_ADDR_REQ    1    /* slfp_hdr index for "Addr Request" Header */
  15.  
  16. /* SL/FP protocol control structure */
  17. struct slfp {
  18.     struct mbuf *sndq;    /* Encapsulated packets awaiting transmission */
  19.     struct timer ar_timer ;    /* Timer for Address Request */
  20.     char ar_pending ;    /* =1 iff waiting for Addr Reply */
  21.     struct timer req_timer;    /* Timer for receipt of ACK to our REQ */
  22.     char req_pending;    /* State of wait for ACK of our REQ */
  23.     int16 reqcnt;        /* Number of times current ACK has been REQ'd */
  24.     int16 sndcnt;        /* Number of datagrams on queue */
  25.     char escaped;        /* Receiver State control flag */
  26.     char reqd;        /* =1 iff between REQ and END of rcv'g packet */
  27.     struct mbuf *rbp;    /* Head of mbuf chain being filled */
  28.     struct mbuf *rbp1;
  29.     char *rcp;        /* Write pointer */
  30.     int16 rcnt;        /* Length of mbuf chain */
  31.     struct mbuf *tbp;    /* Transmit mbuf being sent */
  32.     int16 errors;        /* Receiver input errors */
  33.     int16 bad_esc;        /* Count of Bad SLFP_ESC sequences */
  34.     int16 missed_ends;    /* Count of SLFP_REQ's rcv'd before prev END */
  35.     int16 false_acks;    /* Count of SLFP_ACK's rcv'd sans pending xmt */
  36.     int (*recv)();        /* Function to call with an incoming buffer */
  37. };
  38. extern struct slfp slfp[];
  39.